package br.com.utilitarios;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.com.Dao.UsuarioComercianteDao;
import br.com.Modelo.UsuarioComerciante;

/**
 * Servlet Filter implementation class admin
 */
@WebFilter("/admin/*")
public class admin implements Filter {

    /**
     * Default constructor. 
     */
	private ServletContext context;
    public admin() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		// place your code here
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse res = (HttpServletResponse) response;
		
		String url = req.getRequestURI();
		this.context.log("Requested Resource::"+url);		
		
	
        HttpSession session = req.getSession();       
     
        if(session != null){
        	
            
            String id[] = (String[]) session.getAttribute("user");
            
            
            // System.out.print("id do cara->"+id);
            
            if(id != null){ //tira usuario sem logar
            	
            	    if(Integer.parseInt(id[1]) == 1){ //tira usuario com autenticaçao de cliente
            	                    	 
                     	this.context.log("Unauthorized access request");                		 
                		res.sendRedirect("../notpage.jsp");
                		//session = null;
                    }
            		
            }else if(!(url.endsWith(".jsp") || url.endsWith("LoginServlet"))){
            	this.context.log("Unauthorized access request");
                res.sendRedirect("../notpage.jsp");
		    }else{
            		
		    	res.sendRedirect("../notpage.jsp");
            		
            }
			
          }else{
        	  this.context.log("Unauthorized access request");
              res.sendRedirect("../notpage.jsp");
        	  
          }
        chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
		this.context = fConfig.getServletContext();
		this.context.log("AuthenticationFilter initialized");
	}

}
